#使用场景：比如说，全部的正整数，就不可能被放到一个列表之中去使用。生成器无需一下子保存或读取出全部的内容，
# 只需要在需要用到的时候，生成一个，就可以了。
# 这是之前使用过的一个关于九九乘法表的列表推导式
li = ["%s * %s = %s" % (i, j, i * j) for i in range(1, 10) for j in range(1, 10) if i <= j]

# 将[]改为()以后，可以直接变成生成器，是可迭代的对象
g_li = ("%s * %s = %s" % (i, j, i * j) for i in range(1, 10) for j in range(1, 10) if i <= j)

if __name__ == "__main__":
    # 打印以后，我们可以看出，这是一个generator
    print(g_li)
    # 每使用一次next()，就会新生成一个元素
    print(next(g_li))
    print(next(g_li))
    # 使用for循环，可以通过遍历得到所有的元素
    for i in g_li:
        print(i)
